#直方图均衡化 自适应的直方图均衡化(对比度限制)
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt


img=cv.imread("F:\\11\\18.png",0)
def show(img,name):#利用matplotlib显示图像
    plt.imshow(img,cmap=plt.cm.gray)#要求输入的是灰度图像
    plt.title(name), plt.xticks([]), plt.yticks([])
    plt.show()

def showgrid(img,name):#利用matplotlib显示图像
    plt.title(name), plt.xticks([]), plt.yticks([])
    plt.plot(img)
    plt.grid()
    plt.show()

def EqualizeHist():
    dst=cv.equalizeHist(img);
    return dst;

def clahe():
    clahe=cv.createCLAHE(clipLimit=2.0,tileGridSize=(8,8))#分别是对比度限制和分块的大小
    cl1=clahe.apply(img)
    return cl1;
if __name__=='__main__':
    show(img,'origin')
    show(EqualizeHist(),'after')
    show(clahe(),'afterCLAHE')